package lk.cms.base.dao;

/**
 * @author LK
 * @date 2020/9/5 - 15:41
 */
import java.io.Serializable;
import java.util.List;

import lk.cms.base.domain.BaseTreeEntity;
import org.springframework.data.repository.NoRepositoryBean;





/**
 * Generic Tree DAO (Data Access Object) with common methods to CRUD POJOs.
 * Implemented with Spring-Data-JPA Repository
 * <p>
 * Extend this interface if you want type safe (no casting necessary) DAO's for
 * your domain objects.
 *
 * @param <T>  a type variable,
 * @param <PK> the primary key for that type
 * @author <a href="mailto:ming616@gmail.com">Liu Xiaoming</a>
 */
@NoRepositoryBean
public abstract interface GenericTreeDao<T extends BaseTreeEntity<T, PK>, PK extends Serializable>
        extends GenericDao<T, PK> {
    List<T> getRoot();
}
